home *** CD-ROM | disk | FTP | other *** search
/ Pascal Super Library / Pascal Super Library (CW International)(1997).bin / DELPHI32 / GRAPHICS / SCGRAPH / TITLES.PAS < prev   
Pascal/Delphi Source File  |  1996-11-07  |  9KB  |  345 lines

  1. unit Titles;
  2.  
  3. interface
  4.  
  5. uses
  6.   Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  7.   Menus, ExtCtrls, ScGraph;
  8.  
  9. type
  10.   TTitlesForm = class(TForm)
  11.     MainMenu1: TMainMenu;
  12.     File1: TMenuItem;
  13.     Close1: TMenuItem;
  14.     Printersetup1: TMenuItem;
  15.     Print1: TMenuItem;
  16.     N1: TMenuItem;
  17.     Exit1: TMenuItem;
  18.     Edit1: TMenuItem;
  19.     CopyGraph1: TMenuItem;
  20.     GraphTitle1: TMenuItem;
  21.     ScGraph1: TScGraph;
  22.     XTitle1: TMenuItem;
  23.     YTitle: TMenuItem;
  24.     Text1: TMenuItem;
  25.     Font1: TMenuItem;
  26.     Position1: TMenuItem;
  27.     FontDialog1: TFontDialog;
  28.     Text2: TMenuItem;
  29.     Font2: TMenuItem;
  30.     Position2: TMenuItem;
  31.     Direction1: TMenuItem;
  32.     Text3: TMenuItem;
  33.     Font3: TMenuItem;
  34.     Position3: TMenuItem;
  35.     Direction2: TMenuItem;
  36.     Legends: TMenuItem;
  37.     Legends1: TMenuItem;
  38.     N2: TMenuItem;
  39.     Font4: TMenuItem;
  40.     Position4: TMenuItem;
  41.     Top1: TMenuItem;
  42.     Right1: TMenuItem;
  43.     Bottom1: TMenuItem;
  44.     Northwest1: TMenuItem;
  45.     Northeast1: TMenuItem;
  46.     Southwest1: TMenuItem;
  47.     Southeast1: TMenuItem;
  48.     N0deg1: TMenuItem;
  49.     N90deg1: TMenuItem;
  50.     N270deg1: TMenuItem;
  51.     N0deg2: TMenuItem;
  52.     N90deg2: TMenuItem;
  53.     N270deg2: TMenuItem;
  54.     Autometrics1: TMenuItem;
  55.     Help1: TMenuItem;
  56.     procedure Close1Click(Sender: TObject);
  57.     procedure Printersetup1Click(Sender: TObject);
  58.     procedure Print1Click(Sender: TObject);
  59.     procedure Exit1Click(Sender: TObject);
  60.     procedure CopyGraph1Click(Sender: TObject);
  61.     procedure Font1Click(Sender: TObject);
  62.     procedure Text1Click(Sender: TObject);
  63.     procedure Position1Click(Sender: TObject);
  64.     procedure Text2Click(Sender: TObject);
  65.     procedure Font2Click(Sender: TObject);
  66.     procedure Position2Click(Sender: TObject);
  67.     procedure Text3Click(Sender: TObject);
  68.     procedure Position3Click(Sender: TObject);
  69.     procedure N0deg1Click(Sender: TObject);
  70.     procedure N90deg1Click(Sender: TObject);
  71.     procedure N270deg1Click(Sender: TObject);
  72.     procedure N0deg2Click(Sender: TObject);
  73.     procedure N90deg2Click(Sender: TObject);
  74.     procedure N270deg2Click(Sender: TObject);
  75.     procedure Legends1Click(Sender: TObject);
  76.     procedure Font4Click(Sender: TObject);
  77.     procedure Top1Click(Sender: TObject);
  78.     procedure Right1Click(Sender: TObject);
  79.     procedure Bottom1Click(Sender: TObject);
  80.     procedure Northwest1Click(Sender: TObject);
  81.     procedure Northeast1Click(Sender: TObject);
  82.     procedure Southwest1Click(Sender: TObject);
  83.     procedure Southeast1Click(Sender: TObject);
  84.     procedure FormCreate(Sender: TObject);
  85.     procedure Autometrics1Click(Sender: TObject);
  86.     procedure Help1Click(Sender: TObject);
  87.     procedure FormDestroy(Sender: TObject);
  88.   private
  89.     { Private declarations }
  90.   public
  91.     { Public declarations }
  92.   end;
  93.  
  94. var
  95.   TitlesForm: TTitlesForm;
  96.   TitlesText: TStringList;
  97.  
  98. implementation
  99.  
  100. uses DemoMain, Help;
  101.  
  102. {$R *.DFM}
  103.  
  104. procedure TTitlesForm.Close1Click(Sender: TObject);
  105. begin
  106.   DemoForm.CloseWindow1Click(Self);
  107. end;
  108.  
  109. procedure TTitlesForm.Printersetup1Click(Sender: TObject);
  110. begin
  111.   DemoForm.PrinterSetupDialog1.Execute;
  112. end;
  113.  
  114. procedure TTitlesForm.Print1Click(Sender: TObject);
  115. begin
  116.   ScGraph1.PrintGraph(-1, -1, 140, 120);
  117. end;
  118.  
  119. procedure TTitlesForm.Exit1Click(Sender: TObject);
  120. begin
  121.   DemoForm.Exit1Click(Self);
  122. end;
  123.  
  124. procedure TTitlesForm.CopyGraph1Click(Sender: TObject);
  125. begin
  126.   ScGraph1.CopyGraphToClipboard;
  127. end;
  128.  
  129. procedure TTitlesForm.Font1Click(Sender: TObject);
  130. begin
  131.   FontDialog1.Font:= ScGraph1.GraphTitleFont;
  132.   if FontDialog1.Execute then
  133.     ScGraph1.GraphTitleFont := FontDialog1.Font;
  134. end;
  135.  
  136. procedure TTitlesForm.Text1Click(Sender: TObject);
  137. begin
  138.   ScGraph1.GraphTitle.Caption:= InputBox('Graph Title',
  139.      'Enter caption:', ScGraph1.GraphTitle.Caption);
  140. end;
  141.  
  142. procedure TTitlesForm.Position1Click(Sender: TObject);
  143. var InpStr: string;
  144. begin
  145.   InpStr:= InputBox('Graph Title Position',
  146.      'Enter position (0-1000):', IntToStr(ScGraph1.GraphTitle.Position));
  147.   try
  148.     ScGraph1.GraphTitle.Position:= StrToInt(InpStr);
  149.   except
  150.   end;
  151. end;
  152.  
  153. procedure TTitlesForm.Text2Click(Sender: TObject);
  154. begin
  155.   ScGraph1.XAxis.TitleText:= InputBox('X-Axis Title',
  156.      'Enter caption:', ScGraph1.XAxis.TitleText);
  157. end;
  158.  
  159. procedure TTitlesForm.Font2Click(Sender: TObject);
  160. begin
  161.   FontDialog1.Font:= ScGraph1.AxisTitleFont;
  162.   if FontDialog1.Execute then
  163.     ScGraph1.AxisTitleFont := FontDialog1.Font;
  164. end;
  165.  
  166. procedure TTitlesForm.Position2Click(Sender: TObject);
  167. begin
  168.   try
  169.     ScGraph1.XAxis.TitlePos:= StrToInt(InputBox('X-Axis Title Position',
  170.      'Enter position (0-1000):', IntToStr(ScGraph1.XAxis.TitlePos)));
  171.   except
  172.   end;
  173. end;
  174.  
  175. procedure TTitlesForm.Text3Click(Sender: TObject);
  176. begin
  177.   ScGraph1.YAxis.TitleText:= InputBox('Y-Axis Title',
  178.      'Enter caption:', ScGraph1.YAxis.TitleText);
  179. end;
  180.  
  181. procedure TTitlesForm.Position3Click(Sender: TObject);
  182. begin
  183.   try
  184.     ScGraph1.YAxis.TitlePos:= StrToInt(InputBox('Y-Axis Title Position',
  185.      'Enter position (0-1000):', IntToStr(ScGraph1.YAxis.TitlePos)));
  186.   except
  187.   end;
  188. end;
  189.  
  190. procedure TTitlesForm.N0deg1Click(Sender: TObject);
  191. begin
  192.   ScGraph1.XAxis.TitleAngle := lr0;
  193. end;
  194.  
  195. procedure TTitlesForm.N90deg1Click(Sender: TObject);
  196. begin
  197.   ScGraph1.XAxis.TitleAngle := lr90;
  198. end;
  199.  
  200. procedure TTitlesForm.N270deg1Click(Sender: TObject);
  201. begin
  202.   ScGraph1.XAxis.TitleAngle := lr270;
  203. end;
  204.  
  205. procedure TTitlesForm.N0deg2Click(Sender: TObject);
  206. begin
  207.   ScGraph1.YAxis.TitleAngle := lr0;
  208. end;
  209.  
  210. procedure TTitlesForm.N90deg2Click(Sender: TObject);
  211. begin
  212.   ScGraph1.YAxis.TitleAngle := lr90;
  213. end;
  214.  
  215. procedure TTitlesForm.N270deg2Click(Sender: TObject);
  216. begin
  217.   ScGraph1.YAxis.TitleAngle := lr270;
  218. end;
  219.  
  220. ////////////////////////
  221. procedure TTitlesForm.Legends1Click(Sender: TObject);
  222. begin
  223.   Legends1.Checked := Legends1.Checked xor true;
  224.   ScGraph1.LegendBox.ShowLegends := Legends1.Checked;
  225. end;
  226.  
  227. procedure TTitlesForm.Font4Click(Sender: TObject);
  228. begin
  229.   FontDialog1.Font:= ScGraph1.LegendFont;
  230.   if FontDialog1.Execute then
  231.     ScGraph1.LegendFont := FontDialog1.Font;
  232. end;
  233.  
  234. procedure TTitlesForm.Top1Click(Sender: TObject);
  235. begin
  236.   ScGraph1.LegendBox.BoxColor := clTeal;
  237.   ScGraph1.LegendBox.Placement := lbxTop;
  238.   ScGraph1.LegendFOnt.Color := clSilver;
  239. end;
  240.  
  241. procedure TTitlesForm.Right1Click(Sender: TObject);
  242. begin
  243.   ScGraph1.LegendBox.BoxColor := clTeal;
  244.   ScGraph1.LegendBox.Placement := lbxRight;
  245.   ScGraph1.LegendFOnt.Color := clSilver;
  246. end;
  247.  
  248. procedure TTitlesForm.Bottom1Click(Sender: TObject);
  249. begin
  250.   ScGraph1.LegendBox.BoxColor := clTeal;
  251.   ScGraph1.LegendBox.Placement := lbxBottom;
  252.   ScGraph1.LegendFOnt.Color := clSilver;
  253. end;
  254.  
  255. procedure TTitlesForm.Northwest1Click(Sender: TObject);
  256. begin
  257.   ScGraph1.LegendBox.BoxColor := clSilver;
  258.   ScGraph1.LegendBox.Placement := lbxNorthwest;
  259.   ScGraph1.LegendFOnt.Color := clBlack;
  260. end;
  261.  
  262. procedure TTitlesForm.Northeast1Click(Sender: TObject);
  263. begin
  264.   ScGraph1.LegendBox.BoxColor := clSilver;
  265.   ScGraph1.LegendBox.Placement := lbxNortheast;
  266.   ScGraph1.LegendFOnt.Color := clBlack;
  267. end;
  268.  
  269. procedure TTitlesForm.Southwest1Click(Sender: TObject);
  270. begin
  271.   ScGraph1.LegendBox.BoxColor := clSilver;
  272.   ScGraph1.LegendBox.Placement := lbxSouthwest;
  273.   ScGraph1.LegendFOnt.Color := clBlack;
  274. end;
  275.  
  276. procedure TTitlesForm.Southeast1Click(Sender: TObject);
  277. begin
  278.   ScGraph1.LegendBox.BoxColor := clSilver;
  279.   ScGraph1.LegendBox.Placement := lbxSoutheast;
  280.   ScGraph1.LegendFOnt.Color := clBlack;
  281. end;
  282.  
  283. procedure TTitlesForm.FormCreate(Sender: TObject);
  284. var i: integer;
  285.     s: double;
  286. begin
  287.   with ScGraph1 do
  288.   begin
  289.     Plotting := false;
  290.  
  291.     SetSeries(1, true, true, clYellow, 'Function');
  292.     SetSeries(2, true, true, clLime, 'Noise');
  293.     SetSeries(3, true, true, clAqua, 'Sum');
  294.  
  295.     for i := 0 to 200 do
  296.     begin
  297.       s := 3 * random;
  298.       AddPoint(1, i, sqrt(i));
  299.       AddPoint(2, i, s);
  300.       AddPoint(3, i, sqrt(i) + s);
  301.     end;
  302.  
  303.     SetSeriesLine(1, true, pmLine, 1, psDash);
  304.     SetSeriesLine(2, true, pmLine, 1, psSolid);
  305.     SetSeriesLine(3, true, pmLine, 1, psSolid);
  306.  
  307.     Plotting := true;
  308.   end;
  309.  
  310.   TitlesText := TStringList.Create;
  311.   with TitlesText do begin
  312.    Add(' Edit  : Copy Graph - copies graph to clipboard');
  313.    Add('         Autometrics- autoadjust various sizes,');
  314.    Add('         line widths and distances');
  315.    Add(' GraphTitle: choose text, font and position');
  316.    Add('         for the title of the plot');
  317.    Add(' X-title, Y-title: ');
  318.    Add('         choose text, font, position and ');
  319.    Add('         direction for the axis legends');
  320.    Add(' LegendBox : choose font and position of the');
  321.    Add('         legend box');
  322.    Add(' ');
  323.    Add('  (see also ScGraph.txt for further properties)');
  324.   end;
  325. end;
  326.  
  327. procedure TTitlesForm.FormDestroy(Sender: TObject);
  328. begin
  329.   TitlesText.Free;
  330. end;
  331.  
  332. procedure TTitlesForm.Autometrics1Click(Sender: TObject);
  333. begin
  334.   ScGraph1.Autometrics := ScGraph1.Autometrics xor true;
  335.   Autometrics1.Checked := ScGraph1.Autometrics;
  336. end;
  337.  
  338. procedure TTitlesForm.Help1Click(Sender: TObject);
  339. begin
  340.   HelpForm.HelpMemo.Lines.Assign(TitlesText);
  341.   HelpForm.ShowModal;
  342. end;
  343.  
  344. end.
  345.